package com.customization.assets.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @author	Huangwm
 * @description	实物资产管理应用中使用的后台日期时间操作方法
 */
public class DateTools {

	/**
	 * 获取当前年
	 * @return yyyy
	 */
	public String getCurrentYear() {
		String year = "";
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
		try {
			year = sdf.format(new Date());
		} catch (Exception e) {
		}
		return year;
	}
	
	/**
	 * 获取当前月份
	 * @return M
	 */
	public String getCurrentMonth(){
		String month = "";
		SimpleDateFormat sdf = new SimpleDateFormat("M");
		try {
			month = sdf.format(new Date());
		} catch (Exception e) {
		}
		return month;
	}
	
	/**
	 * 获取当前日期的具体日
	 * @return dd
	 */
	public String getCurrentDay(){
		String day = "";
		SimpleDateFormat sdf = new SimpleDateFormat("dd");
		try {
			day = sdf.format(new Date());
		} catch (Exception e) {
		}
		return day;
	}
	
	/**
	 * 获取指定日期的具体日
	 * @return dd
	 */
	public String getCurrentDayByDate(String date){
		String day = "";
		SimpleDateFormat sdf = new SimpleDateFormat("dd");
		try {
			day = sdf.format(StrToDate(date));
		} catch (Exception e) {
		}
		return day;
	}
	
	/**
	 * 获取当前日期
	 * @return yyyy-MM-dd
	 */
	public String getCurrentDate() {
		Date date = new Date();
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		return sdf.format(date);
	}
	
	/**
	 * 获取当前时间
	 * @return HH:mm:ss
	 */
	public String getCurrentTime() {
		Date date = new Date();
		SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
		return sdf.format(date);
	}
	
	/**
	 * 获取当前日期时间
	 * @return yyyy-MM-dd HH:mm:ss
	 */
	public String getCurrentTimes() {
		Date date = new Date();
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		return sdf.format(date);
	}
	/**
	 * 获取当前日期时间
	 * @return yyyy-MM-dd HH:mm
	 */
	public String getCurrentTimes2() {
		Date date = new Date();
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
		return sdf.format(date);
	}

	/** 
	* 字符串转换成日期 
	* @param dateStr 
	* @return yyyy-MM-dd 
	*/
	public Date StrToDate(String dateStr) {
		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
		Date date = null;
		try {
			date = format.parse(dateStr);
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return date;
	}

	/**
	 * 对比日期1是否大于日期2
	 * @param start
	 * @param end
	 * @return
	 */
	public boolean compare_date(String start, String end) {
		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
		try {
			Date dt1 = format.parse(start);
			Date dt2 = format.parse(end);
			if (dt1.getTime() > dt2.getTime()) {
				return true;
			} else if (dt1.getTime() < dt2.getTime()) {
				return false;
			} else {
				return false;
			}
		} catch (Exception exception) {
			exception.printStackTrace();
		}
		return false;
	}
}
